package cn.hwadee.muying.entity;

import java.util.Date;

import cn.hwadee.muying.enums.Level;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import cn.hwadee.muying.commons.base.BaseModel;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * <p>
 * 服务合同
 * </p>
 *
 * @author Mankind
 * @since 2018-08-06
 */
public class Contract extends BaseModel {

    private static final long serialVersionUID = 1L;

    /**
     * 所属机构id
     */
    @TableField("org_id")
        
    private Long orgId;
    /**
     * 客户id
     */
    @TableField("user_id")
        
    private Long userId;
    /**
     * 育婴师id
     */
    @TableField("nursery_teacher_id")
        
    private Long nurseryTeacherId;
    /**
     * 育婴顾问id
     */
    @TableField("nursery_consultant_id")
        
    private Long nurseryConsultantId;
    /**
     * 预产期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("due_date")
    private Date dueDate = null;
    /**
     * 预计签约时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("sign_date")
    private Date signDate = null;
    /**
     * 服务开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("start_date")
    private Date startDate = null;
    /**
     * 服务结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField("end_date")
    private Date endDate = null;
    /**
     * 住址
     */
        
    private String address;
    /**
     * 合同金额
     */
        
    private Double money;
    /**
     * 合同状态
     */
        
    private Boolean status;


    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String nurseryTeacherName;

    /**
     * 员工等级
     */
    @TableField(exist = false)
    private Level workerLevel;


    @TableField(exist = false)
    private String nurseryConsultantName;

    public Level getWorkerLevel() {
        return workerLevel;
    }

    public void setWorkerLevel(Level workerLevel) {
        this.workerLevel = workerLevel;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNurseryTeacherName() {
        return nurseryTeacherName;
    }

    public void setNurseryTeacherName(String nurseryTeacherName) {
        this.nurseryTeacherName = nurseryTeacherName;
    }

    public String getNurseryConsultantName() {
        return nurseryConsultantName;
    }

    public void setNurseryConsultantName(String nurseryConsultantName) {
        this.nurseryConsultantName = nurseryConsultantName;
    }


    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }


    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getNurseryTeacherId() {
        return nurseryTeacherId;
    }

    public void setNurseryTeacherId(Long nurseryTeacherId) {
        this.nurseryTeacherId = nurseryTeacherId;
    }

    public Long getNurseryConsultantId() {
        return nurseryConsultantId;
    }

    public void setNurseryConsultantId(Long nurseryConsultantId) {
        this.nurseryConsultantId = nurseryConsultantId;
    }

    public Date getDueDate() {
        return dueDate;
    }

    public void setDueDate(Date dueDate) {
        this.dueDate = dueDate;
    }

    public Date getSignDate() {
        return signDate;
    }

    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }


    public static final String ORG_ID = "org_id";

    public static final String SERVICE_TYPE_ID = "service_type_id";

    public static final String USER_ID = "user_id";

    public static final String NURSERY_TEACHER_ID = "nursery_teacher_id";

    public static final String NURSERY_CONSULTANT_ID = "nursery_consultant_id";

    public static final String DUE_DATE = "due_date";

    public static final String SIGN_DATE = "sign_date";

    public static final String START_DATE = "start_date";

    public static final String END_DATE = "end_date";

    public static final String ADDRESS = "address";

    public static final String SERVICE_CONTENT = "service_content";

    public static final String MONEY = "money";

    public static final String STATUS = "status";

    public static final String STAR_LEVEL = "star_level";

    public static final String REMARK = "remark";

    @Override
    public String toString() {
        return "Contract{" +
                ", orgId=" + orgId +
                ", userId=" + userId +
                ", nurseryTeacherId=" + nurseryTeacherId +
                ", nurseryConsultantId=" + nurseryConsultantId +
                ", dueDate=" + dueDate +
                ", signDate=" + signDate +
                ", startDate=" + startDate +
                ", endDate=" + endDate +
                ", address=" + address +
                ", money=" + money +
                ", status=" + status+
        "}";
    }
}
